package 字符串;

import java.util.Scanner;
//　给出一个字符串S，然后给出q条指令，分别有4种：
//
//        　　1. Append str
//        　　表示在S的最后追加一个字符串str。
//        　　例：
//        　　原字符串：ABCDE
//        　　执行 Append FGHIJ 后
//        　　字符串变为：ABCDEFGHIJ
//
//        　　2. Insert x str
//        　　表示在位置x处插入一个字符串str。（输入保证0<x<=当前字符串长度）
//        　　例：
//        　　原字符串：ABCGHIJ
//        　　执行 Insert 4 DEF 后
//        　　字符串变为：ABCDEFGHIJ
//
//        　　3. Swap a b c d
//        　　表示交换从第a位到第b位的字符串与从第c位到第d位的字符串。（输入保证0<a<b<c<d<=当前字符串长度）
//        　　例：
//        　　原字符串：ABGHIFCDEJ
//        　　执行 Swap 3 5 7 9后
//        　　字符串变为：ABCDEFGHIJ
//
//        　　4. Reverse a b
//        　　表示将从第a位到第b位的字符串反转。（输入保证0<a<b<=当前字符串长度）
//        　　例：
//        　　原字符串：ABGFEDCHIJ
//        　　执行 Reverse 3 7 后
//        　　字符串变为：ABCDEFGHIJ
//
//        　　最后输出按顺序执行完指令后的字符串。
//        输入格式
//        　　输入第一行包含字符串S，第二行包含一个整数q，接下来q行分别为q个指令。
//        输出格式
//        　　输出为1行，为按顺序执行完输入指令后的字符串。
//        样例输入
//        My
//        5
//        Append Hello
//        Insert 3 dlroW
//        Reverse 3 7
//        Swap 3 7 8 12
//        Swap 1 2 3 7
//        样例输出
//        HelloMyWorld
//        样例说明
//        　　原字符串：My
//        　　执行 Append Hello 后：MyHello
//        　　执行 Insert 3 dlroW 后：MydlroWHello
//        　　执行 Reverse 3 7 后：MyWorldHello
//        　　执行 Swap 3 7 8 12 后：MyHelloWorld
//        　　执行 Swap 1 2 3 7 后：HelloMyWorld
public class 字符串的操作 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        StringBuilder string = new StringBuilder(str);
        int n = scanner.nextInt();
        for (int i = 0; i < n; i++) {
            String ch = scanner.next();
            if (ch.equals("Append")){
                String str2 = scanner.next();
                string.append(str2);
            }else if (ch.equals("Insert")){
                string.insert(scanner.nextInt()-1,scanner.next());
            }else if (ch.equals("Reverse")){
                int a = scanner.nextInt()-1;
                int b = scanner.nextInt();
                String he = string.substring(a,b);
                StringBuilder haha = new StringBuilder(he);
                haha.reverse();
                string.delete(a,b);
                string.insert(a,haha);
            }else {
                int q = scanner.nextInt()-1;
                int w = scanner.nextInt();
                int e = scanner.nextInt()-1;
                int r = scanner.nextInt();
                String a1 = string.substring(0,q);
                String a2 = string.substring(q,w);
                String a3 = string.substring(w,e);
                String a4 = string.substring(e,r);
                String a5 = string.substring(r);
                string = new StringBuilder(a1+a4+a3+a2+a5);
            }
        }
        System.out.println(string);
    }
}
